Method and apparatus for packet data service discovery

ABSTRACT

A method and apparatus for packet data service discovery are described. A current blacklist comprising entries for wireless networks not providing packet data services (i.e. either not supporting the services or not having a packet data services roaming agreement) is kept in memory of the mobile device based on previous attempts to connect to such networks. Current preferred roaming lists identify whether a given wireless network can be acquired, but do not identify whether a data services roaming agreement exists. At least one of the following advantages is provided: no advance knowledge of data services roaming agreements is required; no mobile device software change is required when the data services roaming agreement changes; mobile device can notify a server of a wireless network status change; significant power savings at the mobile device; and avoid unnecessary network access, which in turn saves network resources and capacity.

This application claims the benefit of priority from U.S. ProvisionalPatent Application Ser. No. 60/423,355 filed on Nov. 4, 2002.

FIELD OF THE INVENTION

The present invention relates to the discovery of services provided fora mobile device in a wireless network without any a priori knowledge.The invention relates particularly to the discovery of packet dataservices provided for mobile devices.

BACKGROUND OF THE INVENTION

In a CDMA (Code Division Multiple Access) network, a system identifier(SID) identifies a service provider as well as a given geographicalarea. Networks within a system are given a network identifier or ND. Anetwork is uniquely identified by the pair (SID, NID). FIG. 1illustrates a network cloud 100 showing the relationship between varioussystem identifiers and network identifiers.

A CDMA mobile device is typically pre-programmed by operators with anentity called a Preferred Roaming List (PRL). A PRL can also bedownloaded to the mobile device using known over the air provisioningmethods. FIG. 2 illustrates a simplified representation of aconventional preferred roaming list 102. The PRL, which comprises of anumber of records, indicates which systems the mobile device is allowedto acquire. In this example, each record identifies a system by its(SID, NID) pair and provides the frequencies that the mobile device isto use when attempting to acquire the system. For each record, there canbe an indicator of whether the system is preferred, the roaming status,the relative priority of the system, and its geographic region. As partof system acquisition, the mobile device searches for a CDMA PilotChannel on a set of frequencies based on the PRL. The (SID/NID)information of the acquired system is conveyed to the mobile device on aSync Channel once the mobile device has acquired the Pilot Channel. ThePRL only contains the information about which systems the mobile deviceis allowed to acquire. It does not have any information about the typeof services that are allowed on a given network. Typically, it onlyindicates that a certain degree of voice service is available on anetwork.

An “always-on always connected” mobile device needs to maintain dataconnectivity all the time to support seamless mobility. This requiresthe mobile device to reestablish its data connectivity whenever itchanges systems. However, the mobile device has no a priori knowledge asto whether it is allowed to make a data call on a given system. Even ifthe network indicates that it is capable of supporting packet dataservices, there is no guarantee that the mobile device will be allowedto make any data calls. The mobile device can only find out about suchinformation after it makes a data call origination attempt. A mobiledevice can only have true data mobility if a data roaming servicesagreement exists between the relevant service providers. A roamingagreement between operators does not necessarily cover all availableservices. For example, two operators may have a voice services roamingagreement, but no packet data services roaming agreement. Currently,there is no standardized mechanism to convey this information to themobile device. As a result, the mobile device is forced to make blinddata call origination attempts to find out whether it is allowed to makedata calls or not. This has a significant impact on the battery life,especially in a geographical area where the mobile device goes in andout of a system where data calls are not allowed. Therefore, there is aneed for a device capable of efficiently handling interactions with anetwork with respect to data service availability.

SUMMARY OF THE INVENTION

It is an object of the present invention to obviate or mitigate at leastone disadvantage of previous service discovery arrangements. It isparticularly advantageous to provide an improvement with respect to thediscovery of data services for mobile devices.

According to an aspect of the invention, there is provided a mobiledevice capable of supporting packet data services offered by wirelessnetworks. The mobile device includes a memory, as well as a transceiverfor exchanging packet data service authentication information with thewireless networks. The mobile device also includes a current blacklistprovided in the memory, the current blacklist identifying wirelessnetworks that do not provide packet data services to the mobile device,the current blacklist being based on previous packet data serviceauthentication rejections. The mobile device further includes aprocessor for updating the current blacklist in response to newlyreceived packet data service authentication information.

According to another aspect of the invention, there is provided a methodof data service discovery for a mobile device having a currentblacklist. The method includes the following steps: detecting a wirelessnetwork; examining the current blacklist stored on the mobile device; ifthe detected wireless network is listed in the current blacklist,refraining from making any packet data call attempts for a predeterminedperiod of time. Otherwise, the method includes the following steps:determining whether the wireless network provides packet data servicesto the mobile device, and adding the wireless network to the currentblacklist if the wireless network does not provide packet data servicesto the mobile device.

According to a further aspect of the invention, there is provided amethod of packet data service notification in a wireless network, thewireless network including a server and a mobile device. The methodincludes the following steps: receiving at the server a registration ofa newly powered-up mobile device; retrieving a server-stored currentblacklist identifying wireless networks that do not provide packet dataservices to the newly powered-up mobile device; and sending theserver-stored current blacklist from the server to the newly powered-upmobile device for reception by and storage on the mobile device.

Other aspects and features of the present invention will become apparentto those ordinarily skilled in the art upon review of the followingdescription of specific embodiments of the invention in conjunction withthe accompanying figures.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the present invention will now be described, by way ofexample only, with reference to the attached figures, wherein:

FIG. 1 illustrates a network cloud showing the relationship betweenvarious system identifiers and network identifiers;

FIG. 2 illustrates a simplified representation of a conventionalpreferred roaming list;

FIG. 3 illustrates a system used for authentication in a simple IPnetwork;

FIG. 4 illustrates a system used for authentication in a mobile IPnetwork;

FIG. 5 illustrates a mobile device according to an embodiment of thepresent invention in the context of wireless network components and ahome server of the mobile device;

FIG. 6A and FIG. 6B illustrate a flowchart showing steps in a methodaccording to an embodiment of the present invention;

FIG. 7 illustrates a representation of an exemplary current blacklistaccording to an embodiment of the present invention; and

FIG. 8 illustrates the relationship between a conventional OSI networklayer model and a layer model for a mobile device.

DETAILED DESCRIPTION

Generally, the present invention provides a method and apparatus forpacket data service discovery without any a priori knowledge. A currentblacklist comprising entries for wireless networks not providing packetdata services is kept in a mobile device's memory, in order to avoidunnecessary repeated requests to such networks. Current preferredroaming lists can identify whether a given wireless network can beacquired, but do not identify whether a data services roaming agreementexists. A mobile device, or mobile station, according to the invention,or employing a method according to the invention, dynamically“auto-discovers” the wireless networks on which it is permitted to makepacket data calls. A list of wireless networks not providing packet dataservices (i.e. either not supporting the services or not having a packetdata services roaming agreement) is kept in memory of the mobile devicebased on previous attempts to connect to such networks.

The present invention provides at least one of the following advantages:no advance knowledge of data roaming agreements is required at themobile device; no mobile device software change is required when a dataroaming agreement changes; the mobile device can notify its home serverregarding a change of status of any wireless network; significant powersavings are realized at the mobile device; and unnecessary wirelessnetwork access is avoided in a network, which saves network resourcesand capacity.

The following paragraphs provide definitions for terms that will be usedin the specification.

The term “mobile device” as used herein includes any electronic devicehaving at least voice and data communication capabilities. The mobiledevice is preferably a two-way wireless communication device capable ofsupporting both voice services and packet data services. Althoughreference is made in the description to the use and provision of packetdata services, the invention can advantageously be used with other typesof data services. Depending on the exact functionality provided, themobile device may be referred to in the art by different terms, forexample, as a data messaging device, a two-way pager, a wireless e-maildevice, a cellular telephone with data messaging capabilities, awireless Internet appliance, or a data communication device.

The term “wireless network” as used herein includes any network orsystem, or the operator or carrier of such a network or system, havingat least one component that provides wireless or mobile services, forexample packet data services, to a mobile device.

A wireless network that “supports” packet data services has thenecessary hardware and software in place to be capable of offeringpacket data services to a mobile device. A wireless network that “doesnot support” packet data services does not have the necessary hardwareand software in place to be capable of offering packet data services toa mobile device.

A wireless network “provides” packet data services to a mobile devicewhen it supports packet data services and also permits, or allows, thatmobile device to use the packet data services. This permission can be,for example, pursuant to a packet data services roaming agreementbetween carriers, service providers, or network operators. A wirelessnetwork that “does not provide” packet data services to a mobile deviceeither does not support packet data services, or it supports packet dataservices, but the mobile device is not permitted to use the packet dataservices, for example due to a lack of a packet data services roamingagreement.

There are two main types of CDMA packet data networks with whichembodiments of the present invention can be used. The first type is aSimple IP (SIP) network in which a mobile device does not have a fixedInternet Protocol (IP) address. The IP address of a mobile device in aSIP network changes over time, with respect to location, etc. Once radiolink protocol communication is established between the mobile device anda Radio Network (RN), the RN initiates an R-P interface between the RNand a Packet Data Serving Node (PDSN). The mobile device isauthenticated by the serving PDSN via a RADIUS server and issubsequently assigned an IP address. The PDSN then provides the mobiledevice with connectivity, for instance to the Internet, an intranet (notshown), or generally an IP network. As the mobile device moves acrossPDSN boundaries, it is assigned new IP addresses, as necessary. An“always-on always connected” mobile device typically notifies its homeserver of its own IP address so that packets can be pushed to it fromits own server (e.g. an enterprise server). Typically, the Home ServerIP address is fixed and known to the mobile device.

The second type is a Mobile IP (MIP) network in which a mobile devicecan have a static IP address, which is assigned by its home wirelessnetwork. The Home Agent IP address is also programmed into the mobiledevice. As the mobile device roams to a foreign network and attempts toset up a data session, the Foreign Agent (which is in effect a PDSN)communicates with the mobile device's specified Home Agent and thenassigns the mobile device a Care-of Address (CoA). The home IP addressof a mobile device in a MIP network can remain the same regardless oflocation, time, etc. Other devices or servers sending data to the mobiledevice only need to know about its home IP address, not the CoA.

Specific examples of SIP and MIP networks will be described in furtherdetail in relation to FIG. 3 and FIG. 4, respectively. FIG. 3illustrates a system used for authentication in a simple IP network.

In FIG. 3, a mobile device 104 communicates with a Radio Network (RN)106. The RN 106 performs functions such as call setup, handling handoff,performing tasks at a Radio Link Protocol (RLP) Layer and below. The RN106 also communicates with a packet data serving node (PDSN) 108. APDSN, used in third generation (3G) networks, has a range of IPaddresses and performs IP address management, maintains a session, andmay perform caching. A PDSN provides access to the Internet, intranetsand Wireless Application Protocol (WAP) servers for mobile devicesutilizing a RN. It provides foreign agent (FA) support in MIP networksand packet transport for virtual private networking.

Remote Authentication Dial-In User Service (RADIUS) server 110 isresponsible for performing functions related to authentication,authorization, and accounting (AAA) of packet data services. It is alsoknown as an AAA server. The RADIUS server 110 is connected to IP network112. The PDSN 108 communicates with other network entities, such asother RADIUS servers, via the IP network 112.

The authentication steps in a SIP system such as in FIG. 3, generallycomprise system access authentication and data authentication. Thesystem access authentication is performed by a home locationregister/authentication center (HLR/AC) as a first level ofauthentication. In a system access authentication step, the RN 106 sendsa global challenge, and the mobile device 104 sends a response. Thisstep is performed before the data session is established.

Next, a data authentication step is performed. This is typically done bymeans of known schemes such as Challenge-Handshake AuthenticationProtocol (CHAP) and Password Authentication Protocol (PAP).

If there is no data roaming agreement, one of the authentication steps(typically the data authentication step) will fail. Since there is nostandard definition of what to do in such a case, the mobile devicekeeps trying. This is relevant to an “always-on, always connected”mobile device that is expected to maintain data connectivity at alltimes. Furthermore, according to the CDMA standard, a “dormant” mobiledevice is required to reconnect an existing dormant data connectionevery time there is a change in the NID, SID or packet zone identifier.A “dormant” mobile device has already established a PPP context with thenetwork, but a reconnect attempt to a new wireless network can stillfail. In addition, an “always-on, always connected” mobile device may berequired to notify its Home Server if there is any change in the currentSID in order to facilitate proper and efficient routing of data from theHome Server to the appropriate gateway. Repeated failed attempts tosetup a data session in such conditions have the effect of unnecessarilyincreasing the amount of network traffic, and also reduce the batterylife of the mobile device. In addition, if the mobile device is on theedge of a service area, there can be a “ping-pong” effect as the devicealternates between trying to authenticate on a home network and on aforeign network.

FIG. 4 illustrates a system used for authentication in a MIP network. InFIG. 4, the mobile device 104 stores a fixed home IP address, a fixedhome agent address, and may store a fixed home server address. The PDSN108 in FIG. 4 can also be referred to as the foreign agent. The foreignagent 108 communicates with a home agent 114, which has its own RADIUSserver 116. Once the foreign agent 108 finds out the necessaryinformation to communicate with the home agent 114, the authenticationis actually performed at the home agent 114. The home agent 114 receivesall packets intended for the mobile device 104 and forwards them on tothe foreign agent 108, which in turn forwards them to the mobile device.The home agent 114 stores a CoA for the mobile device 104 and maps thehome IP address of the mobile device to the CoA. In FIG. 4, the RN ofthe PDSN serving node can communicate via a mobile station controller(MSC) 118 to a home location register (HLR) 120 via SS7 network 122.

The authentication steps in a MIP system include an initial systemaccess authentication step, as is the case with SIP. However, in a MIPnetwork, the subsequent data authentication step comprises a pluralityof steps, such as: a foreign agent challenge (where the foreign agentsends a message asking the mobile device to respond); an MN-AAA_(H)authentication step; and an MN-HA authentication step, where MNrepresents a mobile node or mobile device, AAA_(H) represents a homeRADIUS or AAA server, and HA represents a home agent. The dataauthentication step can comprise one or more of these levels ofauthentication. If any one of these authentication steps fails, thisindicates that there is no data roaming agreement.

FIG. 5 illustrates a mobile device according to an embodiment of thepresent invention in the context of wireless network components and ahome server of the mobile device. The mobile device 104 communicateswith the RN 106, which in turn can communicate with the PDSN 108, asdescribed earlier. The PDSN 108 can communicate with a home server 128associated with the mobile device by means of intermediary devices, suchas illustrated in FIG. 5 by Router A 124 on the PDSN side and Router B126 on the home server side.

FIG. 5 shows the mobile device having a current blacklist 122. Ablacklist as used herein represents a collection of data identifyingwireless networks that do not provide packet data services to the mobiledevice. The blacklist is preferably stored in a form in which eachlisted network can be uniquely identified, and will be described infurther detail below. Such a blacklist is in contrast to a preferredroaming list, which is known in the art, in which a listing of systemsor networks allowing voice services is typically kept. Storing and usinga blacklist helps to avoid unnecessary attempts to repeatedly accessdata services on the same wireless network. The current blacklist 122identifies wireless networks that do not currently provide packet dataservices to the mobile device and is stored in memory on the mobiledevice. The current blacklist 122 is based on previous data relating topacket data service availability. Such data can be obtained as follows.

The mobile device 104 typically has a processor and transceiver, whichincludes a transmitter and a receiver. The receiver is used to decodeinformation frames received over the air from the wireless network. Theinformation frames can carry higher layer protocol stack payload and maycontain payload from different entities in the wireless network, such asa PDSN. The received information frames are passed to the processor,which then determines the next course of action. The transmitter is usedto send over the air information frames to the wireless network asdirected by the processor. The information frames carry payloads ofhigher layers in the protocol stack.

In terms of data authentication, the processor typically processesincoming packet data service authentication frames received from thewireless network, as well as outgoing packet data service authenticationframes sent from the mobile device. The general steps relating to theexchange of such packet data service authentication frames is known inthe art. For instance, an incoming packet data service authenticationframe can contain a packet data service authentication request. Inresponse to that request, the processor prepares the proper response.That response is sent by means of an outgoing packet data serviceauthentication frame. The wireless network then performs authenticationsteps. Information relating to an authentication acceptance or rejectionis typically sent to the mobile device. Of course, any of theseexchanges can comprise, or be separated into, one or more informationframes, packets or other unit of data transmission.

The exchange of packet data service authentication information betweenthe mobile device and the wireless network is typically initiated in thecontext of the mobile device making a packet data call attempt on thewireless network. The authentication steps are simply a part of the datacall process.

The current blacklist 122 is based on previous processed incoming packetdata service authentication information. When packet data services arenot provided to the mobile device, a packet data service authenticationrejection is received from the wireless network. Therefore, the currentblacklist is 122 is, in particular, based on received packet dataservice authentication rejections. The current blacklist 122 is alsoupdated by the processor in response to newly received packet dataservice authentication rejections. The current blacklist 122advantageously identifies a wireless network by its system identifierand network identifier pair, as will be described later in relation toFIG. 7.

In a particular embodiment, the current blacklist includes a timer valuefor each system that does not provide packet data services to the mobiledevice. The inclusion of a timer value is intended to provide anopportunity to send a subsequent packet data service authenticationrequest at a suitable time, in order to determine if the situation haschanged with respect to the wireless network not providing packet dataservices. The timer value can advantageously be implemented as an agetimer, as is known to those skilled in the art. The selection of valuesto be used in the age timer 134 as shown in FIG. 7 can be based onknowledge of system parameters and the likelihood of change in suchparameters. For instance, for a wireless network known to be havingproblems with or changes to its network equipment, the age timer can beset anywhere from a number of minutes to a number of days. For awireless network which is the subject of negotiations to provide dataroaming services, the age timer can be set anywhere from a number ofdays to a number of weeks or months, to monitor for any anticipatedchanges.

As described above, the mobile device maintains and updates its owncurrent blacklist. This is advantageous since each mobile device canhave its own particular abilities and requirements with respect towireless networks it can acquire. The current blacklist is preferablystored in memory on the mobile device. In another embodiment,information stored in the mobile device's current blacklist can betransmitted to a server. The current blacklist can include a flagindicating whether an identification of a blacklisted wireless networkhas been passed to a server. Any portion of a current blacklist canadvantageously be sent from the mobile device to a remote server, suchas its home server, where the information can then be stored.

The server can gather current information relating to various wirelessnetworks from a plurality of mobile devices. The server can send aserver-stored current blacklist to a mobile device in particularinstances where such transmission would be beneficial. For example, if amobile device loses the information in its current blacklist, ratherthan building it from scratch, it could receive a server-stored currentblacklist. The server-stored current blacklist can be stored in a memoryof the particular server, or another server with which the server is incommunications. The server can build a composite current blacklist basedon reports from different mobile devices. This stored information canthen be re-sent to other mobile stations.

FIG. 6A and FIG. 6B illustrate a flowchart showing steps in a methodaccording to an embodiment of the present invention. In step 200, inFIG. 6A, a mobile device starts acquisition of a system, or wirelessnetwork, based on the information in the PRL and the setting of networkscan mode as specified by the user. The system acquisition can beinitiated by any one of a number of situations, such as: turning themobile device's radio functions on, change/loss of service; attempt toreceive better service; network-directed redirection; rescan for apreferred system; etc.

Once a system has been acquired, it is preferably determined in step 202whether the mobile device is required to send CDMA registration. If thesystem requires registration, a registration attempt is initiated. Instep 204, it is determined whether the CDMA registration attempt wassuccessful. If yes, the method continues to step 206; if not, the methodreturns to the first step 200 and attempts to acquire a differentsystem. Steps 200-204 are steps that are used in known methods of dataservice discovery.

In step 206, it is determined whether the acquired CDMA system, ornetwork, supports or may support packet data services. The system willtypically have an indicator to convey whether packet data services aresupported. An example of such an indicator is the protocol revision ofthe RN, e.g. protocol revision greater than or equal to 6 in a CDMA2000network.

However, such an indicator is not an absolute guarantee that packet dataservices are supported since a protocol revision of 6 (IS-2000 release0) in such a network does not necessarily mean that packet data servicesare supported. Further steps in the method will confirm whether packetdata services are provided, or permitted, with respect to the mobiledevice; this step simply rules out situations where such services aredefinitely not supported. If the network does not support packet dataservice (e.g. protocol revision <6 in a CDMAOne network), then,referring to step 208, the mobile device allows only voice and SMStraffic and notifies a user that packet data services are not available.If the network indicates that it supports or may support packet dataservices then the method proceeds to step 210.

In step 210, a determination is made as to whether the current system,or wireless network, is in a current blacklist. This is typically doneby comparing the current SID with SID values stored in the currentblacklist. If the current SID is found in the current blacklist, themethod proceeds to step 212 in which the mobile device allows only voiceand SMS traffic and notifies a user that packet data services are notprovided by the current network. No data call attempt is made in such acase.

If the current SID is not in the current blacklist, the method proceedsto step 214 in FIG. 6B (if the mobile device does not already have anactive data session). This is the case when the radio is turned ON orthe mobile device cannot establish a data session on previously visitedsystems. In this step, the mobile device attempts to establish a datacall. This can be achieved by the mobile device initiating a packet datacall to setup a PPP session and attempting to get an IP address. If themobile device has already established a data session, i.e. it is in adormant state with an IP address; the method proceeds to step 215. Instep 215, the mobile device attempts to reconnect the data session. Theprocess is similar to step 214 with minor differences.

In step 216, a determination is made as to whether the networkauthentication has failed, i.e. a packet data service authenticationrejection is received. In a SIP network, the mobile device isauthenticated by the network using CHAP or PAP, which assume that theUser Id and Password of the device are known by the network. If thedevice turns out to be an unknown entity to the network from a packetdata services viewpoint, the authentication will fail and packet dataservices will be refused. If authentication fails, the method proceedsto step 218 where the mobile device enters, or adds, the SID of thesystem to current blacklist, starts a timer and stops trying to setup adata session on the system until the timer expires. The timer value canbe an age timer. Following this step, the method proceeds to step 212 inFIG. 6A, where the device allows voice and SMS and informs the user thatpacket data services are not provided by the network.

When the device moves to another system, it first checks whether the newsystem supports packet data services or not. If it does, the device thenchecks whether the system is in its current blacklist, as outlined inthe steps above. If yes, it refrains from making any data call attemptson that system. Otherwise, the device will try to reconnect to keep thedata session alive. If it fails authentication, the new system will alsobe blacklisted and no data retry attempts will take place until theassociated age timer expires.

If, in step 216, the network successfully authenticates the mobiledevice, it is determined that the network provides data services to themobile device and the method proceeds to step 220. The method alsopreferably includes within step 218 a step of marking the SID as “notreported”. Then, in step 220, it is determined-whether any-entry in thecurrent blacklist has not been reported. The term “reporting” here isused to represent any communication of such an entry to a device otherthan the mobile device, such as a home server associated with the mobiledevice.

Therefore, if there is a non-reported entry in the current blacklist, instep 222 the home server is notified of the SID change and any “new”blacklisted SIDs are reported. If there are no non-reported entries inthe current blacklist, a preferred step 224 determines whether thecurrent SID is stored in a “once blacklisted” table. The “onceblacklisted” table is similar to the current blacklist in structure, aswill be outlined below, except that it keeps a historical list of allSIDs that have been blacklisted within a particular time period. If thecurrent SD is in the “once blacklisted” table, the method proceeds tonotify the home server of a change in status of the current SID and itis removed from the “once blacklisted” list. If not, the method proceedsto step 228, where the mobile device has successfully established orreestablished a packet data session and enters a dormant state wheneverit is done sending or receiving data.

In an alternative embodiment, the method further includes a step of“pushing” a current blacklist from a home server to a mobile device.This can easily be accomplished since the home server can be keptup-to-date with respect to data roaming agreements for a given wirelessservice provider and all the mobile devices that have subscribed to itswireless service can be informed accordingly. In some cases, thisblacklist can be a composite current blacklist formed at the home serverbased on the reports from the mobile devices that belong to the samecarrier. If the information is pushed to the mobile device, then itprovides advance warning to a mobile device entering a new system. Whenan mobile device powers up in a RN and registers with the server, theserver can also forward the information of currently blacklisted systemsso that the mobile device can avoid data originations in such RNs.

FIG. 7 illustrates a representation of an exemplary current blacklistaccording to an embodiment of the present invention. The currentblacklist 122 includes information relating to SIDs that are currentlylisted as the wireless networks where packet data services are notprovided. The current blacklist can be stored as a table, with eachentry, or row, preferably including the following data: identificationof SID 132; a timer value 134, such as an age timer; and a flag 136. TheSID identification can include an identification of the correspondingNID. The associated timer starts when the SID is first blacklisted andcounts down until its expiry, at which time the entry is preferablyremoved from the current blacklist. The flag 136 indicates whether theblacklisted SID has been passed to a server, such as a home server, withallowed values preferably being YES and NO. An appropriate initial timervalue can be selected, after which the SID will be removed from theblacklist, for example, one month. When a system with a formerlyblacklisted SID is next encountered, the availability of packet dataservices is rechecked. In an alternative embodiment, the entire currentblacklist can be reset or cleared when radio services on a mobile deviceare turned off.

There are two types of reset conditions under which a current blacklist,or a portion thereof, is cleared: a timer reset condition and aprovisioning reset condition. The term “timer reset condition” is usedto refer to any instance (such as expiry of an age timer, powering offof the mobile device or its radio) where an individual entry in thecurrent blacklist is to be cleared. For example, a wireless network'sentry in the current blacklist is cleared upon expiry of its age timer.After that point, the next time the mobile device encounters thatwireless network, it attempts anew to acquire packet data services onthe system, in case the situation has changed. A mobile device's currentblacklist can alternatively be cleared when the mobile device is turnedoff, or when the device's radio is turned off.

The mobile device can also clear the entire current blacklist inresponse to a provisioning reset condition. A “provisioning resetcondition” includes any change in provisioning or authenticationparameters, such as user ID or password in SIP. Such a change occursafter a mobile device is provisioned for the first time, orre-provisioned with new parameters. The provisioning process can takeplace over the air or manually. In the case of the occurrence of aprovisioning reset condition, the mobile device automatically clears thecurrent blacklist as it may no longer be valid in light of the changedparameters.

Whenever the device re-establishes a data session after being refusedservice on one or more other wireless networks, it can send the list ofblacklisted SIDs that has not yet been reported to the home server. Inaddition, the device also maintains a list of SIDs that were onceblacklisted, but now provide packet data services. Once the devicenotifies the server of status change, the corresponding entries arecleared. When the server is notified of the status change of a wirelessnetwork and that the wireless network now provides packet data services,it can also notify other mobile devices of this status change so thatall the other mobile devices can clear the entry of that wirelessnetwork and will not avoid data originations in that wireless network.

FIG. 8 illustrates the relationship between a conventional OSI networklayer model 138 and a similar layer model 140 for a typical mobiledevice. A device driver layer 142, an operating system layer 144 and aradio layer 146 can collectively be referred to as a radio section. TheJava/Radio Interface 148 facilitates communication between the layers inthe radio section and those in the Java section. Although theapplications in this example are shown as Java-based, they can be basedon any other high level language. The Java section includes a JavaVirtual Machine layer 150 and a Java Applications layer 152. The stepsshown in FIG. 6 are preferably performed at the layers identified as theradio section, although they may alternatively be performed at thelayers identified as a Java section.

The above-described embodiments of the present invention are intended tobe examples only. Alterations, modifications and variations may beeffected to the particular embodiments by those of skill in the artwithout departing from the scope of the invention, which is definedsolely by the claims appended hereto.

1. A mobile device capable of supporting packet data services and voiceservices offered by wireless networks, the mobile device comprising: atransceiver for exchanging packet data service authenticationinformation with the wireless networks; a memory; a packet data servicesblacklist provided in the memory, the packet data services blacklistidentifying wireless networks that do not provide packet data servicesto the mobile device, the packet data services blacklist being based onprevious packet data service authentication rejections and beingdistinct from a voice services blacklist, the packet data servicesblacklist including a flag indicating whether an identification of awireless network blacklisted in relation to the mobile device has beencommunicated to another device; and a processor for updating the packetdata services blacklist in response to newly received packet dataservice authentication information.
 2. The mobile device of claim 1wherein the packet data services blacklist includes an element selectedfrom the group consisting of: a system identifier and network identifierfor each wireless network not providing packet data services to themobile device; a timer value for each wireless network not providingpacket data services to the mobile device; and an age timer for eachwireless network not providing packet data services to the mobiledevice.
 3. The mobile device of claim 1 wherein the packet data servicesblacklist includes a composite packet data services blacklist receivedfrom a server.
 4. The mobile device of claim 1 wherein the processor:prepares a notification to a server if the mobile device finds awireless network which was not previously providing packet data servicesto the mobile device and is now providing packet data services to themobile device; and processes a notification received from a server toother mobile devices to clear the entry of a wireless network which waspreviously not providing packet data services but currently is providingpacket data services.
 5. The mobile device of claim 1 wherein the otherdevice comprises a server.
 6. The mobile device of claim 1 furthercomprising a historical blacklist provided in the memory, distinct fromthe packet data services blacklist and the voice services blacklist, thehistorical blacklist identifying wireless networks that are no longer inthe packet data services blacklist and were once in the packet dataservices blacklist within a particular time period.
 7. A method of dataservice discovery for a mobile device having a packet data servicesblacklist comprising: detecting a wireless network; examining the packetdata services blacklist stored on the mobile device, the packet dataservices blacklist being distinct from a voice services blacklist; ifthe detected wireless network is listed in the packet data servicesblacklist, refraining from making any packet data call attempts for apredetermined period of time; otherwise, determining whether thewireless network provides packet data services to the mobile device, andadding the wireless network to the packet data services blacklist if thewireless network does not provide packet data services to the mobiledevice; determining whether an identification of a wireless networknewly blacklisted in relation to the mobile device has been communicatedto another device; and notifying the other device of the newlyblacklisted wireless network if it is determined that the identificationhas not been communicated to the other device.
 8. The method of claim 7further comprising, prior to the step of examining the packet dataservices blacklist, the step of determining whether the wireless networksupports data service.
 9. The method of claim 7 wherein the step ofdetermining whether the wireless network provides packet data servicesto the mobile device comprises the step of authenticating the mobiledevice on the wireless network.
 10. The method of claim 7 furthercomprising a step selected from the group consisting of: starting an agetimer associated with a wireless network that is added to the packetdata services blacklist; clearing an age timer associated with awireless network in response to satisfaction of a reset condition; andreceiving a composite packet data services blacklist from a server. 11.The method of claim 7 further comprising the step of clearing the packetdata services blacklist in response to a provisioning reset condition.12. The method of claim 7 further comprising a step selected from thegroup consisting of: sending a notification to a server if a mobiledevice finds a wireless network which was not previously providingpacket data services to the mobile device and is now providing packetdata services to the mobile device; and sending a notification from theserver to other mobile devices to clear the entry of a wireless networkwhich was previously not providing packet data services but currently isproviding packet data services.
 13. The method of claim 7 wherein theother device comprises a server.
 14. The method of claim 7 furthercomprising: determining whether a current system identifier is stored ina historical blacklist in response to a determination that there are nowireless networks newly blacklisted in relation to the mobile device forwhich an identification has not been communicated to the other device,the historical blacklist identifying wireless networks that are nolonger in the packet data services blacklist and were once in the packetdata services blacklist within a particular time period, the historicalblacklist being distinct from the packet data services blacklist and thevoice services blacklist.
 15. The method of claim 14 wherein the otherdevice comprises a home server, and further comprising: notifying thehome server of a change in status of the current system identifier; andremoving the current system identifier from the historical blacklist.16. A method of packet data service notification in a wireless network,the wireless network including a server and a mobile device, the methodcomprising: receiving at the server a registration of a newly powered-upmobile device; retrieving a server-stored packet data services blacklistidentifying wireless networks that do not provide packet data servicesto the newly powered-up mobile device, the server-stored packet dataservices blacklist being distinct from a voice services blacklist;updating the server-stored packet data services blacklist in response toreceiving an identification of a wireless network blacklisted inrelation to another mobile device; and sending the updated server-storedpacket data services blacklist from the server to the newly powered-upmobile device for reception by and storage on the mobile device.